package com.jiaozi.system.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.jiaozi.base.utils.bean.R;
import com.jiaozi.system.entity.SysConfigs;
import com.jiaozi.system.enums.ConfigsEnum;
import com.jiaozi.system.pojo.param.sys.configs.UpdateConfigValueParam;
import com.jiaozi.system.pojo.vo.sys.configs.ConfigListVO;

import java.util.List;

/**
 * 系统-参数配置(SysConfigs)表服务接口
 *
 * @author 张崇阳
 * @since 2024-09-23 10:05:03
 */
public interface SysConfigsService extends IService<SysConfigs> {


    /**
     * 查询系统参数列表
     * @return
     */
    R<List<ConfigListVO>> configList();

    R<ConfigListVO> configInfo(String configId);
    /**
     * 修改系统参数值
     * @param updateConfigValueParam
     * @return
     */
    R updateConfigValue(String configId,UpdateConfigValueParam updateConfigValueParam);

    /**
     * 查询指定参数配置
     * @param configsEnum
     * @return
     */
    String getSysConfigs(ConfigsEnum configsEnum) ;

    /**
     * 刷新指定缓存
     * @param configsEnum
     */
    void refreshCache(ConfigsEnum configsEnum) ;

    /**
     * 刷新全部缓存
     */
    void refreshCacheAll();


    /**
     * 初始化系统参数
     */
    void sysConfigsInfo();







}

